
export function getRandomLightColor() {
    // 生成较高的随机值（200-255）以确保颜色较浅
    const r = Math.floor(Math.random() * 56) + 200; // 200-255
    const g = Math.floor(Math.random() * 56) + 200; // 200-255
    const b = Math.floor(Math.random() * 56) + 200; // 200-255

    // 返回 RGB 格式的颜色字符串
    return `rgb(${r}, ${g}, ${b})`;
}

export function findNodeWithPath(trees, targetPath) {
    // 遍历每个树
    for (const tree of trees) {
        // 定义递归搜索函数
        function search(node, pathSoFar = []) {
            // 将当前节点加入路径
            const currentPath = [...pathSoFar, node];

            // 检查当前节点是否匹配目标
            if (node.text === targetPath) {
                return currentPath; // 找到后返回完整路径
            }

            // 递归搜索子节点的子树
            for (const child of node.children || []) {
                const result = search(child, currentPath);
                if (result) {
                    return result; // 找到后直接返回
                }
            }
            return null; // 未找到
        }

        // 从当前树的根节点开始搜索
        const result = search(tree);
        if (result) {
            return result; // 找到后直接返回路径
        }
    }
    return null; // 所有树中均未找到
}


import { Node } from '@tiptap/core'

export const PageBreak = Node.create({
  name: 'pageBreak',
  group: 'block',
  selectable: false,
  parseHTML() {
    return [{ tag: 'hr[data-page-break]' }]
  },
  renderHTML() {
    return ['hr', { 'data-page-break': '' }]
  },
})